package com.gopay.common.cps.service.sms;

import com.gopay.common.domain.sms.SmsMass;
import com.gopay.common.domain.sms.SmsMassContent;

import java.util.List;

public interface SmsMassBaseService {
    /**
     * 批量插
     * @param sms
     * @param smsMassContent
     * @return
     */
    SmsMassContent batchInsertSms(List<SmsMass> sms, SmsMassContent smsMassContent);

    /**
     * 批量删
     * @param key
     */
    void batchDelete(String key);

    /**
     * 批量更新
     * @param smsMassList
     * @param smsMassContent
     * @return
     */
    SmsMassContent batchUpdateSms(List<SmsMass> smsMassList, SmsMassContent smsMassContent);

    /**
     * 批量更新
     * @param kes
     * @param status
     * @return
     */
    String updateBatchByKey(List<SmsMass> kes,String status);

    /**
     * 更新状态
     * @param status
     * @param pakgeId
     */
    void updateSmsStatusByPackgeId(String status, String pakgeId);

    /**
     * 更新为失败
     * @param status
     * @param pakgeId
     * @param smsId
     */
    void updateSmsAndContentToFail(String status, String pakgeId, String smsId);

    /**
     * 获取序列
     * @return
     */
    String getContentSeq();

    void updateMassSatus(String status, String smsId);

    /**
     * 查询需要补偿的短信
     * @return
     */
    List<SmsMassContent> selectTheSmsCompensate();

    List<SmsMassContent> selectTheSmsWillBeSendByPage(int pageNum, int pagesizeContent);

    /**
     * 批量插入数据库
     * @param sms
     */
    void bathInsertSmsMass(List<SmsMass> sms);
}
